#include <iostream>
using namespace std;

/*
	模板函数使用多个模板
*/
//定义一个模板函数
template<typename T1,typename T2>  //声明了两个模板，模板的名字叫T1，T2
T1 add(T1 a,T2 b)  //模板函数,a和b类型可以相同，也可以不相同，但是返回值的类型跟a类型相同
//T2 add(T1 a,T2 b)  //模板函数,a和b类型可以相同，也可以不相同，但是返回值的类型跟b类型相同
//int add(T1 a,T2 b)
{
	cout<<"模板函数add被调用了"<<endl;
	return a+b;
}

int main()
{
	int n1=89;
	int n2=67;
	double n3=12.5;
	double n4=45.9;
	//调用模板函数--》跟普通函数的写法一样
	//cout<<"函数返回值: "<<add(n1,n2)<<endl;   //T1 int  T2 int 返回值int
	//cout<<"函数返回值: "<<add(n3,n4)<<endl;     //T1 double  T2 double 返回值double
	cout<<"函数返回值: "<<add(n1,n3)<<endl;     //T1 int  T2 double 返回值int
}